package cn.limc.ohoscharts.demo.slice;

import cn.limc.ohoscharts.demo.common.BaseAbility;
import cn.limc.ohoscharts.demo.ResourceTable;
import cn.limc.ohoscharts.axis.Axis;
import cn.limc.ohoscharts.entity.DateValueEntity;
import cn.limc.ohoscharts.entity.IStickEntity;
import cn.limc.ohoscharts.entity.LineEntity;
import cn.limc.ohoscharts.entity.ListChartData;
import cn.limc.ohoscharts.event.IZoomable;
import cn.limc.ohoscharts.view.MASlipCandleStickChart;
import ohos.aafwk.content.Intent;
import ohos.agp.colors.RgbColor;
import ohos.agp.components.element.ShapeElement;
import ohos.agp.utils.Color;

import java.util.ArrayList;
import java.util.List;

public class MASlipCandleStickChartActivity extends BaseAbility {

  MASlipCandleStickChart maslipcandlestickchart;

  @Override
  public void onStart(Intent intent) {
    super.onStart(intent);
    super.setUIContent(ResourceTable.Layout_activity_maslip_candle_stick_chart);
    initMASlipCandleStickChart();
  }

  private void initMASlipCandleStickChart() {
    this.maslipcandlestickchart =
            (MASlipCandleStickChart) findComponentById(ResourceTable.Id_maslipcandlestickchart);
    List<LineEntity<DateValueEntity>> lines = new ArrayList<LineEntity<DateValueEntity>>();

    // 计算5日均线
    LineEntity<DateValueEntity> MA5 = new LineEntity<DateValueEntity>();
    MA5.setTitle("MA5");
    MA5.setLineColor(Color.WHITE.getValue());
    MA5.setLineData(initMA(5));
    lines.add(MA5);

    // 计算10日均线
    LineEntity<DateValueEntity> MA10 = new LineEntity<DateValueEntity>();
    MA10.setTitle("MA10");
    MA10.setLineColor(Color.RED.getValue());
    MA10.setLineData(initMA(10));
    lines.add(MA10);

    // 计算25日均线
    LineEntity<DateValueEntity> MA25 = new LineEntity<DateValueEntity>();
    MA25.setTitle("MA25");
    MA25.setLineColor(Color.GREEN.getValue());
    MA25.setLineData(initMA(25));
    lines.add(MA25);

    maslipcandlestickchart.setAxisXColor(Color.LTGRAY.getValue());
    maslipcandlestickchart.setAxisYColor(Color.LTGRAY.getValue());
    maslipcandlestickchart.setLatitudeColor(Color.GRAY.getValue());
    maslipcandlestickchart.setLongitudeColor(Color.GRAY.getValue());
    maslipcandlestickchart.setBorderColor(Color.LTGRAY.getValue());
    maslipcandlestickchart.setLongitudeFontColor(Color.WHITE.getValue());
    maslipcandlestickchart.setLatitudeFontColor(Color.WHITE.getValue());

    // 最大纬线数
    maslipcandlestickchart.setLatitudeNum(5);
    // 最大经线数
    maslipcandlestickchart.setLongitudeNum(3);
    // 最大价格
    maslipcandlestickchart.setMaxValue(1200);
    // 最小价格
    maslipcandlestickchart.setMinValue(200);

    maslipcandlestickchart.setDisplayFrom(10);

    maslipcandlestickchart.setDisplayNumber(30);

    maslipcandlestickchart.setMinDisplayNumber(5);

    maslipcandlestickchart.setZoomBaseLine(IZoomable.ZOOM_BASE_LINE_CENTER);

    maslipcandlestickchart.setDisplayLongitudeTitle(true);
    maslipcandlestickchart.setDisplayLatitudeTitle(true);
    maslipcandlestickchart.setDisplayLatitude(true);
    maslipcandlestickchart.setDisplayLongitude(true);
    ShapeElement background = new ShapeElement();
    background.setRgbColor(new RgbColor(00, 00, 00));
    maslipcandlestickchart.setBackground(background);

    maslipcandlestickchart.setDataQuadrantPaddingTop(5);
    maslipcandlestickchart.setDataQuadrantPaddingBottom(5);
    maslipcandlestickchart.setDataQuadrantPaddingLeft(5);
    maslipcandlestickchart.setDataQuadrantPaddingRight(5);
//      maslipcandlestickchart.setAxisYTitleQuadrantWidth(50);
//      maslipcandlestickchart.setAxisXTitleQuadrantHeight(20);
    maslipcandlestickchart
            .setAxisXPosition(Axis.AXIS_X_POSITION_BOTTOM);
    maslipcandlestickchart
            .setAxisYPosition(Axis.AXIS_Y_POSITION_RIGHT);

    // 为chart2增加均线
    maslipcandlestickchart.setLinesData(lines);

    // 为chart2增加均线
    maslipcandlestickchart.setStickData(new ListChartData<IStickEntity>(
            ohlc));

  }
}
